Inheritance diagram for TBasicShader:

Public Member Functions | |
| virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj) |
| virtual uint32 MCCOMAPI | AddRef () |
| virtual boolean MCCOMAPI | IsEqualTo (I3DExShader *aShader) |
| virtual MCCOMErr MCCOMAPI | GetShadingFlags (ShadingFlags &theFlags) |
| virtual EShaderOutput MCCOMAPI | GetImplementedOutput () |
| virtual boolean MCCOMAPI | WantsTransform () |
| virtual boolean MCCOMAPI | HasExplicitLightingModel (const LightingContext &lightingContext) |
| virtual MCCOMErr MCCOMAPI | ShadeAndLight (LightingDetail &result, const LightingContext &lightingContext, I3DShLightingModel *inDefaultLightingModel) |
| virtual MCCOMErr MCCOMAPI | DoShade (ShadingOut &result, ShadingIn &shadingIn) |
| virtual real MCCOMAPI | GetValue (real &result, boolean &fullArea, ShadingIn &shadingIn) |
| virtual real MCCOMAPI | GetColor (TMCColorRGBA &result, boolean &fullArea, ShadingIn &shadingIn) |
| virtual void MCCOMAPI | GetReflection (TReflectionParameters &reflectionParams, const ShadingIn &shadingIn) |
| virtual void MCCOMAPI | GetTransparency (TTransparencyParameters &transparencyParams, const ShadingIn &shadingIn) |
| virtual real MCCOMAPI | GetVector (TVector3 &result, ShadingIn &shadingIn) |
| virtual MCCOMErr MCCOMAPI | GetBump (TVector3 &result, ShadingIn &shadingIn) |
| virtual void MCCOMAPI | ConvertToPoly (TMCArray< TVector2 > *vertices) |
| virtual boolean MCCOMAPI | OutlineInPreviewMode () |
| virtual boolean MCCOMAPI | Contains (ShadingIn &shadingIn, TVector2 &localUV) |
| virtual MCCOMErr MCCOMAPI | GetOriginalParametricTextureMap (const uint32 &uvSpaceID, const uint32 &channelIndex, IShTextureMap **outMap) |
| virtual boolean MCCOMAPI | GetSubShaderPreview (IShParameterComponent **shader, IShParameterComponent *subShader, FourCharT subShaderKeyword) |
| virtual void MCCOMAPI | GetShaderPreview (IShParameterComponent **shader) |
| virtual int16 MCCOMAPI | GetSubShaderViewID (IDType keyword) |
| virtual MCCOMErr MCCOMAPI | SetDefaultParameters () |
| virtual EShaderFunctionType MCCOMAPI | GetSubShaderType (IDType keyword) |
| virtual void MCCOMAPI | CalculateDirectLighting (LightingDetail &result, const LightingContext &lightingContext) |
| virtual void MCCOMAPI | CalculateReflection (TMCColorRGB &reflectionColor, const LightingContext &lightingContext, const ShadingOut &shading) |
| virtual void MCCOMAPI | CalculateCaustics (TMCColorRGB &causticColor, const LightingContext &lightingContext, const ShadingOut &shading) |
| virtual void MCCOMAPI | CalculateIndirectLighting (TMCColorRGB &indirectDiffuseColor, const LightingContext &lightingContext, const ShadingOut &shading) |
| virtual void MCCOMAPI | CalculateTransparency (TMCColorRGBA &resColor, const LightingContext &lightingContext, const ShadingOut &shading) |
| virtual void MCCOMAPI | CalculateAlpha (TMCColorRGBA &resColor, const LightingContext &lightingContext, const ShadingOut &shading) |
| virtual void MCCOMAPI | CalculateSubsurfaceScattering (TMCColorRGB &subsurfaceColor, const LightingContext &lightingContext, const ShadingOut &shading) |
|
|
Increments the reference count of the object Reimplemented from TBasicDataExchanger. |
|
||||||||||||||||
|
Override this method to implement your own Alpha channel calculation. Note that if you have overriden ShadeAndLight(), this method won't be called.
Implements I3DExShader. |
|
||||||||||||||||
|
Override this method to implement your own Caustics calculation. Note that if you have overriden ShadeAndLight(), this method won't be called.
Implements I3DExShader. |
|
||||||||||||
|
Override this method to implement your own direct lighting calculation. Note that if you have overriden ShadeAndLight(), this method won't be called.
Implements I3DExShader. |
|
||||||||||||||||
|
Override this method to implement your own Global Illumination calculation. Note that if you have overriden ShadeAndLight(), this method won't be called.
Implements I3DExShader. |
|
||||||||||||||||
|
Override this method to implement your own reflection calculation. Note that if you have overriden ShadeAndLight(), this method won't be called.
Implements I3DExShader. |
|
||||||||||||||||
|
Override this method to implement your own Subsurface Scattering calculation. Note that if you have overriden ShadeAndLight(), this method won't be called.
Implements I3DExShader. |
|
||||||||||||||||
|
Override this method to implement your own Transparency calculation. Note that if you have overriden ShadeAndLight(), this method won't be called.
Implements I3DExShader. |
|
||||||||||||
|
Returns true if a point in uv coordinates is contained in the shape of the shaders (used for shape shaders only).
Implements I3DExShader. |
|
|
must be implemented to allow a shader to display an outline. This is typically used by layers such as ’rectangle’, ’ellipse’, and ’polygon’
Implements I3DExShader. |
|
||||||||||||
|
Returns the shading at a given point as described in the shadingIn. Note that you also need to fill the fCurrentCompletionMask of shadingIn with the channels that your shader is actually filling (this allows to have shaders that only after certain channel without modifying the others in a layered shader). Note that the alpha is not premultiplied in the shading.
Implements I3DExShader. |
|
||||||||||||
|
not supported in current version Implements I3DExShader. |
|
||||||||||||||||
|
Calculates the color of a shader for given point described in shadingIn. Note that the alpha is not premultiplied in the shading ! (But it is in the lighting calculation)
Implements I3DExShader. |
|
|
Determines which methods the Shader actually implements. Return only one of the following values if you implement only one of the methods. If more than one is implemented then return the result as the OR of the two values return kUsesGetValue | kUsesGetColor; Implements I3DExShader. |
|
||||||||||||||||
|
Returns the original texture map when no special projections mappings.
Implements I3DExShader. |
|
||||||||||||
|
Returns the parameters used to calculate the reflection. This function is only called if the shader is placed in the reflection channel of a multichannel. Do not forget to specify kUseGetReflection in GetImplementedOutput().
Implements I3DExShader. |
|
|
Creates a shader that can be used to preview this shader.
Implements I3DExShader. |
|
|
specifies which parameters the shader will need to perform shading calculations. If the shader is a constant shader which values does not depend on any of the ShadingIn parameters then it should set the fCallOnce flag in theFlags to true. See the description of the ShadingFlags structure for more details.
Implements I3DExShader. |
|
||||||||||||||||
|
Creates a shader that can be used to preview one of the subshader.
Implements I3DExShader. |
|
|
Get the type of a sub shader.
Implements I3DExShader. |
|
|
Get the view id of a sub shader.
Implements I3DExShader. |
|
||||||||||||
|
Returns the parameters used to calculate the transparency. This function is only called if the shader is placed in the transparency channel of a multichannel.
Implements I3DExShader. |
|
||||||||||||||||
|
Calculates the value of the shader at a given point described in shadingIn.
Implements I3DExShader. |
|
||||||||||||
|
Returns a perturbation of the normal in local coordinates. This perturbation is then added to the orginal normal of the point to calculate the bump.
Implements I3DExShader. |
|
|
Returns true if there is an explicit lighting model in the subtree. This is mostly used for layer lists to determine if DoShade or ShadeAndLight should be called on the layer.
Implements I3DExShader. |
|
|
Compares the values of two shaders. IsEqualTo() must first get a pointer on the same interface as itself before comparing the values.
Implements I3DExShader. |
|
|
Return True if the shader will draw an outline. ConvertToPoly() must then be implemented. This is typically used by layers such as ’rectangle’, ’ellipse’, and ’polygon’ Implements I3DExShader. |
|
||||||||||||
|
Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.
Reimplemented from TBasicDataExchanger. |
|
|
Set the parameters to the default values (especially to create default sub shaders). Implements I3DExShader. |
|
||||||||||||||||
|
Calculates the shading and lighting in one point. You should only override this method if you want to implement advanced lighting effects in your shader. Note that you can override part of the lighting model by overriding CalculateDirectLighting() or CalculateReflection(),,,
Implements I3DExShader. |
|
|
Returns true if the shader needs a transform tab. This is only useful if your shader relies on 3D coodinates and not UV coordinates. Implements I3DExShader. |
1.4.5